package com.yuantong.xyerp.core.api.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 合同或调拨商品明细
 * </p>
 *
 * @author JianguoYin
 * @since 2021-07-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ContractGoods对象", description="合同或调拨商品明细")
public class ContractGoods implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    private String id;

    @ApiModelProperty(value = "C-合同；A-调拨")
    private String sourceType;

    @ApiModelProperty(value = "合同id/调拨单id（冗余字段）")
    private String contractId;

    @ApiModelProperty(value = "产品品类全编码，每两位一级")
    private String categoryCode;

    @ApiModelProperty(value = "产品大品类名（冗余字段）")
    private String categoryName;

    @ApiModelProperty(value = "一级品名（冗余字段）")
    private String levelOne;

    @ApiModelProperty(value = "二级品名（冗余字段）")
    private String levelTwo;

    @ApiModelProperty(value = "三级品名（冗余字段）")
    private String levelThree;

    @ApiModelProperty(value = "合同物品id")
    private String goodsId;

    @ApiModelProperty(value = "物品名称（冗余字段）")
    private String goodsName;

    @ApiModelProperty(value = "合同单中的数量")
    private Integer quantity;

    @ApiModelProperty(value = "合同单中的重量")
    private BigDecimal weight;

    @ApiModelProperty(value = "合同单中的重量单价，原材料库价格来源于仓库单价，合同来源于合同输入，其他为0")
    private BigDecimal unitPrice;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "最新修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "创建人id")
    private String creatorId;

    @ApiModelProperty(value = "流程")
    private String deleteStatus;

}
